import sys

from loguru import logger
import os
from pathlib import Path

"""日志配置相关工具"""
class LogTools:
    def __init__(self, log_dir: str = "app_logs", log_name: str = "app.log"):
        """
        最简日志工具（自动保存到文件 + 控制台输出）
        :param log_dir: 日志目录名
        :param log_name: 日志文件名
        """
        # 创建日志目录（将目录路径和文件名组合成完整的文件路径），这里默认是logs/app.log
        self.log_path = Path(log_dir) / log_name
        os.makedirs(log_dir, exist_ok=True)

        # 移除默认配置
        logger.remove()

        # 添加文件日志（自动按大小轮转，保留最近3个文件）
        logger.add(
            self.log_path,
            rotation="10 MB",
            retention=3,
            format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message}",
            encoding="utf-8",
        )

        # 添加控制台日志（彩色输出）
        logger.add(
            sys.stdout,
            colorize=True,
            format="<green>{time:HH:mm:ss}</green> | <level>{level}</level> | <level>{message}</level>",
        )